home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 2
/
SPACE - Library 2 - Volume 1.iso
/
program
/
331
/
gemfst14
/
gemf_v14.doc
< prev
next >
Wrap
Text File
|
1990-07-20
|
10KB
|
238 lines
GEMFAST v1.40.
05/26/90 by Ian Lepore.
Version 1.40 of GemFast is a full release of the GemFast system.
In GEMFST14.ARC you will find new new libraries (VDIFAST.A and AESFAST.A),
& new docs; see packing list in GEMFBIND.DOC for a full list of contents.
A new set of example programs was co-released with this version of
GemFast. Look for GEMFXM14.ARC at your favorite PD software outlet.
A new version of the non-standard utilties in C source code form was
co-released with this version of GemFast. Look for GEMFUT14.ARC.
The source code for this release of the bindings can be found in the
file GEMFSC14.ARC.
All GemFast-related files can be found on BIX, in atari.st/listings.
The primary reasons for this release are:
- Added fsel_14input() function (*very* small binding for fsel_exinput).
- Changes in GEMFAST.H file.
- Added obj_rbselect() function.
- Added obj_xtfind() function.
- Added alternate calling standards bindings:
evnx_multi()
winx_calc()
winx_get()
frmx_center()
INSTALLING THIS RELEASE:
(Detailed instructions for a first-time install are in GEMFBIND.DOC)
Throw away the following files from your current release:
AESFAST.A VDIFAST.A GEMFAST.H
AESFAST.NDX VDIFAST.NDX (optional...used only with the aln linker)
All documentation files.
Install the following files from the ARC:
AESFAST.A VDIFAST.A GEMFAST.H
All DOC files.
If you are using the Atari 'aln' linker, be sure to create new .NDX files
by running the DOINDEX utility against the new bindings (.a files).
The major document changes occurred in GEMUTIL.DOC and GEMXTEND.DOC;
it is recommended that both these files by reread in their entirity.
;*************************************************************************
; GEMFAST v1.40 notes.
;*************************************************************************
Summary of changes to the bindings:
- Several alternate bindings have been added (listed above). These are
documented in GEMXTEND.DOC.
- The fsel_14input() function was added. This is a no-emulation version
of the TOS 1.4 fsel_exinput() function. If TOS 1.4 is available, the
fsel_exinput function is called, else the old fsel_input is called.
Summary of changes to the GEMFAST.H file:
- The constants AESUTIL_A, AESFAST_A, and VDIFAST_A have been added.
This allows full compile-time check of the runtime environment.
- All elements in structures which were defined as 'long' but were
really pointers to something are now defined as the appropriate type
of pointer. This is gonna cause some existing code to break, but it
is about time to clean up this DRI-originated stupidity. If your
compiler is smart enough to warn you about pointer type mismatches,
you can clean up your existing code in just a few minutes. (And if your
compiler doesn't complain about mismatches, you're already all set.)
Comments in GEMFAST.H describe these pointer changes in more detail.
- Added RSHDR structure for embedded RSC file support.
Summary of changes to the non-standard utilities:
- The rsc_gstrings()/rcs_sstrings() functions now support ICON objects.
- Added obj_rbselect() function. This function deselects the current
radio button in a group and selects a new one.
- Added obj_xtfind() function. This function find an object with a given
extended object type within a tree/subtree.
;*************************************************************************
; GEMFAST v1.30 notes.
;*************************************************************************
Summary of changes to the GEMFAST.H file:
- The constant GEMFAST_H is now #define'd to 1. This allows C source code
to detect whether the GEMFAST system is in use (and perhaps conditionally
include code for the utilties that may not be present under other
bindings systems).
- Several new constants have been added to provide compatibility with MWC.
(EG, MWC uses ROOT instead of R_TREE, both are now defined). Changes of
this nature should be transparent to existing applications, unless one
of the new constants conflicts with a name being used by the application.
- The constants defining the VDI interior styles & patterns were originally
defined as IP_HOLLOW, etc, in the GEMDEFS.H file. I had renamed these to
VIP_HOLLOW, etc, for GEMFAST.H. At the request of several users, I've
added the old names back in. The VIP_????? names will go away eventually.
The names of the object colors have also been added back in.
- Lots of #define statements have been added to support the old names of
utility functions which have been renamed within the bindings.
Summary of changes to the non-standard utilities:
- Routine objcl_calc() is in the process of being phased out. Don't
use it any more.
- Many of the utility functions have been renamed. The old names will
continue to be supported for some time via #define statements in the
GEMFAST.H file. Full details on this are available in GEMUTIL.DOC, the
following is a summary of the renaming:
objclg_adjust renamed to rc_gadjust.
objclv_adjust renamed to rc_vadjust.
objc_xywh renamed to obj_xywh.
objrb_which renamed to obj_rbwhich.
objst_change renamed to obj_stchange.
objfl_change renamed to obj_flchange.
graqon_mouse renamed to gra_qonmouse.
graqof_mouse renamed to gra_qofmouse.
graq_mstate renamed to gra_qmstate.
- A couple of new utility functions were formalized in this release:
obj_rbfind - find child object in a given state (eg, radio button).
obj_offxywh - get screen-adjusted x/y/w/h of object.
Summary of AES bindings changes in v1.30:
- Fixed the emulation mode of fsel_exinput when running on a pre-TOS 1.4
system. The emulation would die, 2 bombs, if run on a pre-1.4 system,
AND NOBODY REPORTED IT FOR OVER 6 MONTHS! I finally discovered it
myself when testing an application for 1.0 compatibility. This tells
me that NOBODY is using this function, but that's cool, I'm gonna keep
supporting it anyway.
Summary of VDI bindings changes in v1.30:
- Fixed a problem with vsl_ends(). The binding was coded to DRI specs,
but the DRI docs don't mention that the function returns 2 integers.
Since the DRI docs make no provisions for returning these values through
the binding, the fix simply prevents the bombs; the values are still not
returned to the calling application.
;*************************************************************************
; GEMFAST v1.20 notes.
;*************************************************************************
Summary of AES bindings changes in v1.20:
- The 'quick' mouse functions graqon_mouse(), graqof_mouse(), and
graq_mstate() were fixed to work under all TOS versions.
- The shel_get() and shel_put() functions were implemented as described
in the TOS 1.4 release notes (see docs in GEMXTEND.DOC).
- Another emulation version of fsel_exinput() was added. This version
emulates the prompt feature only, beyond that it is identical to the
TOS 1.0 fsel. This one is only half the size of the full emulation.
(Documented under fsel_smallexinput() in GEMXTEND.DOC).
- A lot of the source modules were split into smaller modules containing
less functions. This makes the library bigger, but might make your
programs a bit smaller, as there will be less tendancy to include
pieces of the bindings that your program will never use.
- A TST.W D0 instruction was added to the common return-to-user routine
so that the flags in the CCR will match the return value in register d0.
This is needed because the Laser C compiler assumes it will be so, and
will not generate TST.x instructions inline under some circumstances,
such as when a call is coded as "if (!rsrc_load(filename))".
- A TST.W D0 (or equivelent) was also added to all the utility routines
which are not defined as type 'void'.
Summary of VDI bindings changes in v1.20:
- A bug in v_contourfill() was fixed (call no longer causes 3 bombs).
; end of docs for v1.2
;*************************************************************************
; GEMFAST v1.10 notes.
;*************************************************************************
Summary of AES bindings changes in v1.10:
- A global variable was added to AES@NOTE such that the version number is
part of the variable name. Allows a quick version-check via a link map.
- New TOS 1.4 function 'wind_new()' added (see GEMXTEND.DOC).
- New TOS 1.4 function 'fsel_exinput()' (see GEMXTEND.DOC).
- 'Undocumented' functions 'form_button()' and 'form_keybd()' added
(see GEMXTEND.DOC).
- Some cleanup in AESCOMN.S.
- All of the variables in the 'global' array now have unique global
names which can be accessed from C (see GEMFBIND.DOC section 6.0).
The AESFAST.A file is much bigger than v1.0. This is primarily due to
the addition the new fsel_exinput function (see below), and the vast
amount of code required to simulate its actions on pre-TOS 1.4 systems.
If you don't use this function, the increase in size won't affect you.
Summary of VDI bindings changes in v1.10:
- A global variable was added to VDI@NOTE such that the version number is
part of the variable name. Allows a quick version-check via a link map.
- Misnamed function vq_extend was renamed to vq_extnd in VDIINQR1.S
- The stack parms for vq_extnd were wrong, now fixed.
The VDIFAST.A file is slightly smaller. This is due to a change in the
way I build the library. Instead of adding everything to the library,
then running the Sozobon GLOBS program to remove non-global symbols from
the files, I ran GLOBS on each file individually before adding it to the
library. I didn't expect any difference, and I don't know why there is
one, but since it made the library smaller I'm not complaining.
; end of doc.